using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace FrameWork
{
    public abstract class FsmState<T> where T : class
    {
        public abstract void OnInit(Fsm<T> fsm);

        public abstract void OnEnter(Fsm<T> fsm);

        public abstract void OnUpdate(Fsm<T> fsm, float deltaTime);

        public abstract void OnLeave(Fsm<T> fsm);

        public abstract void OnDestroy(Fsm<T> fsm);
    }
}

